-
Notifications
You must be signed in to change notification settings - Fork 0
Update sxiv 24 to nsxiv 34 #3443
Open
pmenzel
wants to merge
8
commits into
master
Choose a base branch
from
update-sxiv-24-to-nsxiv-34
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+74
−24
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From the [Web site](https://nsxiv.codeberg.page/): > Neo (or New or Not) Simple (or Small or Suckless) X Image Viewer > > nsxiv is a fork of the now-unmaintained sxiv with the purpose of being a > (mostly) drop-in replacement for sxiv, maintaining its interface and adding > simple, sensible features. nsxiv is free software licensed under > GPL-2.0-or-later and aims to be easy to modify and customize.
[BEE] => entering bee_build() .. [BEE] make -j300 PREFIX=/usr EPREFIX=/usr BINDIR=/usr/bin SBINDIR=/usr/sbin LIBEXECDIR=/usr/libexec SYSCONFDIR=/etc SHAREDSTATEDIR=/var LOCALSTATEDIR=/var LIBDIR=/usr/lib INCLUDEDIR=/usr/include DATAROOTDIR=/usr/share DATADIR=/usr/share INFODIR=/usr/share/info LOCALEDIR=/usr/share/locale MANDIR=/usr/share/man DOCDIR=/usr/share/doc/nsxiv GEN config.h cp config.def.h config.h CC autoreload.o c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 -DHAVE_LIBEXIF=1 -DHAVE_LIBFONTS=1 -DHAVE_INOTIFY=1 -I/usr/include/freetype2 -I/usr/include/freetype2 -c -o autoreload.o autoreload.c CC commands.o make: c99: No such file or directory make: *** [Makefile:35: autoreload.o] Error 127 make: *** Waiting for unfinished jobs.... c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 -DHAVE_LIBEXIF=1 -DHAVE_LIBFONTS=1 -DHAVE_INOTIFY=1 -I/usr/include/freetype2 -I/usr/include/freetype2 -c -o commands.o commands.c make: c99: No such file or directory make: *** [Makefile:35: commands.o] Error 127 CC image.o c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 -DHAVE_LIBEXIF=1 -DHAVE_LIBFONTS=1 -DHAVE_INOTIFY=1 -I/usr/include/freetype2 -I/usr/include/freetype2 -c -o image.o image.c make: c99: No such file or directory CC main.o make: *** [Makefile:35: image.o] Error 127 c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 -DHAVE_LIBEXIF=1 -DHAVE_LIBFONTS=1 -DHAVE_INOTIFY=1 -I/usr/include/freetype2 -I/usr/include/freetype2 -c -o main.o main.c make: c99: No such file or directory make: *** [Makefile:35: main.o] Error 127 CC window.o CC thumbs.o c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 -DHAVE_LIBEXIF=1 -DHAVE_LIBFONTS=1 -DHAVE_INOTIFY=1 -I/usr/include/freetype2 -I/usr/include/freetype2 -c -o window.o window.c CC util.o make: c99: No such file or directory make: *** [Makefile:35: window.o] Error 127 c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 -DHAVE_LIBEXIF=1 -DHAVE_LIBFONTS=1 -DHAVE_INOTIFY=1 -I/usr/include/freetype2 -I/usr/include/freetype2 -c -o thumbs.o thumbs.c make: c99: No such file or directory make: *** [Makefile:35: thumbs.o] Error 127 c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 -DHAVE_LIBEXIF=1 -DHAVE_LIBFONTS=1 -DHAVE_INOTIFY=1 -I/usr/include/freetype2 -I/usr/include/freetype2 -c -o util.o util.c make: c99: No such file or directory make: *** [Makefile:35: util.o] Error 127 GEN version.h
bee_build() in /usr/libexec/bee/beesh.d/make.sh forwards its arguments to
make, so `bee_build CC=gcc` sets CC as a command-line variable, which
outranks an assignment in the Makefile. Exporting CC works only as long as
nsxiv leaves CC unset: `c99` is make's built-in default, switched from `cc`
by the `.POSIX:` line in nsxiv's Makefile, and the environment beats a
built-in default. The day upstream writes `CC = c99` into config.mk, the
environment loses and the build fails again with:
CC autoreload.o
c99 -Wall -pedantic -O2 -DNDEBUG -D_XOPEN_SOURCE=700 [...] -c -o autoreload.o autoreload.c
make: c99: No such file or directory
make: *** [Makefile:35: autoreload.o] Error 127
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
imlib2 1.12.6, needed for nsxiv 34, does not build against giflib 4.1.6
(2007), because its GIF loader takes `bool' from gif_lib.h, which giflib
5.2 lets include <stdbool.h>:
loader_gif.c: In function '_load':
loader_gif.c:69:5: error: unknown type name 'bool'
69 | bool multiframe;
| ^~~~
loader_gif.c:5:1: note: 'bool' is defined in header '<stdbool.h>'; did you forget to '#include <stdbool.h>'?
4 | #include <gif_lib.h>
+++ |+#include <stdbool.h>
make[4]: *** [Makefile:982: loader_gif.lo] Error 1
giflib 5 dropped autotools in favour of a plain Makefile, so mee_configure
goes away; bee's make.sh hands PREFIX, BINDIR, LIBDIR and MANDIR to make.
Upstream builds no manual pages by default and lists the DocBook XML
sources in MANUAL_PAGES, so install-man would copy gif2rgb.xml and friends
into man1. `make -C doc manpages' turns them into roff with xmlto, and the
generated pages are passed to install-man as a command-line variable.
The soname changes from libgif.so.4 to libgif.so.7; emacs, emacs-29.3,
mplayer and mencoder still link the old one, which giflib_compat provides.
Upstream also deleted two dozen tools (gif2ps, gifasm, gifcolor, gifhisto,
gifinfo, icon2gif, raw2gif, rgb2gif, text2gif, ...), leaving gif2rgb,
gifbuild, gifclrmp, giffix, giftext and giftool.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
giflib 5.2.2 installs libgif.so.7, so the consumers already linked against
the old soname would stop working:
$ ldd /usr/bin/emacs | grep libgif
libgif.so.4 => /lib/libgif.so.4 (0x00007f5fc2e6f000)
Besides emacs and emacs-29.3 that is mplayer and mencoder. Build the old
release once more and keep nothing but the runtime library, so that the
header, the linker symlink, the static library and the tools keep coming
from giflib.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
imlib2 1.12.6, needed for nsxiv 34, uses heif_error_success, which libheif
only defines since 1.17.0:
loader_heif.c: In function '_heif_writer':
loader_heif.c:186:31: error: 'heif_error_success' undeclared (first use in this function); did you mean 'heif_error_code'?
186 | struct heif_error error = heif_error_success;
| ^~~~~~~~~~~~~~~~~~
| heif_error_code
make[4]: *** [Makefile:1017: heif_la-loader_heif.lo] Error 1
libheif replaced autotools with CMake in 1.16.0, so --disable-go (the Go
bindings are gone) and --disable-static (BUILD_SHARED_LIBS is on anyway)
lose their counterpart. libsharpyuv wants libwebp 1.2 or later while /usr
has 0.5.1, hence -DWITH_LIBSHARPYUV=OFF; libde265 and x265 are built in, so
HEIC decoding and encoding work as before.
The soname stays libheif.so.1, so no compatibility package is needed. The
tools are renamed though: heif-convert gives way to heif-dec, and heif-enc,
heif-info, heif-view and heif-thumbnailer join it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign in
to join this conversation on GitHub.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.